const { Model, DataTypes } = require("sequelize");
const { datasource } = require("../index.cjs");
/**
 * @type {Record<any, import('sequelize').DataType | import('sequelize').ModelAttributeColumnOptions<Task>>}
 */
const attrs = {
// 自编号
	id: {
		type: DataTypes.STRING(32),
		primaryKey: true,
	},
	// 设备/器具/标准物质名称
	name: {
		type: DataTypes.STRING(128),
		allowNull: false,
	},
	// 规格型号
	spec: {
		type: DataTypes.STRING(64),
	},
	// 精度/等级
	accuracy: {
		type: DataTypes.STRING(64),
	},
	// 生产厂家
	manufacturer: {
		type: DataTypes.STRING(64),
	},
	// 出厂编号
	factoryNumber: {
		type: DataTypes.STRING(64),
	},
	// 溯源方式
	traceabilityMethod: {
		type: DataTypes.STRING(64),
	},
	// 校准参数（方法要求）
	calibrationParameters: {
		type: DataTypes.TEXT, // 使用 TEXT 类型存储较长的文本
	},
	// 量值溯源日期
	traceabilityDate: {
		type: DataTypes.DATE,
	},
	// 拟下次溯源日期（前）
	nextTraceabilityDate: {
		type: DataTypes.DATE,
	},
	// 溯源结论
	traceabilityConclusion: {
		type: DataTypes.TEXT,
	},
	// 溯源实施机构
	traceabilityInstitution: {
		type: DataTypes.STRING,
	},
	// 证书编号
	certificateNumber: {
		type: DataTypes.STRING(64),
	},
	// 备注
	remark: {
		type: DataTypes.TEXT,
	},
}

class Asset extends Model {
}

Asset.init(attrs, { sequelize: datasource, modelName: 'Asset' })

module.exports = { Asset }
